package qos.estimator.fuzzy;


public class ClassificationTuple {
	
	private double memoryPercentual = 0d;
	private double cpuSoftPercentual = 0d;
	private double cpuIOWaitPercentual = 0d;
	private double cpuUsrPercentual = 0d;
	private double cpuSysPercentual = 0d;
	private double residentSetSize = 0d;
	private double virtualSize = 0d;
	private double majorFaultsPerSecond = 0d;
	private double minorFaultsPerSecond = 0d;
	private double interruptionsPerSecond = 0d;
	private double diskUsage = 0d;
	private double elapsedTime = 0d;
	private double locks = 0d;
	private double concSessions = 0d;
	private double buffers = 0d;
	
	
	public double getLocks() {
		return locks;
	}
	public void setLocks(double locks) {
		this.locks = locks;
	}
	public double getConcSessions() {
		return concSessions;
	}
	public void setConcSessions(double concSessions) {
		this.concSessions = concSessions;
	}
	public double getBuffers() {
		return buffers;
	}
	public void setBuffers(double buffers) {
		this.buffers = buffers;
	}
	public double getMemoryPercentual() {
		return memoryPercentual;
	}
	public void setMemoryPercentual(double memoryPercentual) {
		this.memoryPercentual = memoryPercentual;
	}
	public double getCpuSoftPercentual() {
		return cpuSoftPercentual;
	}
	public void setCpuSoftPercentual(double cpuSoftPercentual) {
		this.cpuSoftPercentual = cpuSoftPercentual;
	}
	public double getCpuIOWaitPercentual() {
		return cpuIOWaitPercentual;
	}
	public void setCpuIOWaitPercentual(double cpuIOWaitPercentual) {
		this.cpuIOWaitPercentual = cpuIOWaitPercentual;
	}
	public double getCpuUsrPercentual() {
		return cpuUsrPercentual;
	}
	public void setCpuUsrPercentual(double cpuUsrPercentual) {
		this.cpuUsrPercentual = cpuUsrPercentual;
	}

	public double getCpuSysPercentual() {
		return cpuSysPercentual;
	}
	public void setCpuSysPercentual(double cpuSysPercentual) {
		this.cpuSysPercentual = cpuSysPercentual;
	}
	public double getResidentSetSize() {
		return residentSetSize;
	}
	public void setResidentSetSize(double residentSetSize) {
		this.residentSetSize = residentSetSize;
	}
	public double getVirtualSize() {
		return virtualSize;
	}
	public void setVirtualSize(double virtualSize) {
		this.virtualSize = virtualSize;
	}
	public double getMajorFaultsPerSecond() {
		return majorFaultsPerSecond;
	}
	public void setMajorFaultsPerSecond(double majorFaultsPerSecond) {
		this.majorFaultsPerSecond = majorFaultsPerSecond;
	}
	public double getMinorFaultsPerSecond() {
		return minorFaultsPerSecond;
	}
	public void setMinorFaultsPerSecond(double minorFaultsPerSecond) {
		this.minorFaultsPerSecond = minorFaultsPerSecond;
	}
	public double getInterruptionsPerSecond() {
		return interruptionsPerSecond;
	}
	public void setInterruptionsPerSecond(double interruptionsPerSecond) {
		this.interruptionsPerSecond = interruptionsPerSecond;
	}
	public double getDiskUsage() {
		return diskUsage;
	}
	public void setDiskUsage(double diskUsage) {
		this.diskUsage = diskUsage;
	}

	public double getElapsedTime() {
		return elapsedTime;
	}
	public void setElapsedTime(double elapsedTime) {
		this.elapsedTime = elapsedTime;
	}
	
	public String getAsLine() {
		String line = "";
		line += "0\t"; //steal
		line += residentSetSize+"\t";
		line += "0\t"; //guest
		line += majorFaultsPerSecond+"\t";
		line += cpuIOWaitPercentual+"\t";
		line += cpuSoftPercentual+"\t";
		line += cpuUsrPercentual+"\t";
		line += memoryPercentual+"\t";
		line += diskUsage+"\t";
		line += virtualSize+"\t";
		line += minorFaultsPerSecond+"\t";
		line += interruptionsPerSecond+"\t";
		line += cpuSysPercentual+"\t";
		line += concSessions+"\t";
		line += locks+"\t";
		line += buffers+"\t";
		line += "0"; //%nice
		
		line.replace(".", ",");
		return line;
	}
	
	public String getAsLineWithHeader() {
		String line = "steal\tresidentSetSize\tguest\tmajorFaultsPerSecond\tcpuIOWaitPercentual\tcpuSoftPercentual\tcpuUsrPercentual\tmemoryPercentual\t" +
				"diskUsage\tvirtualSize\tminorFaultsPerSecond\tinterruptionsPerSecond\tcpuSysPercentual\tconcSessions\tlocks\tbuffers\tnice";
		line += "\n"+getAsLine();
		return line;
	}

}
